package algorithm.leetcode.simple;

/*
 在二维平面上，有一个机器人从原点 (0, 0) 开始。给出它的移动顺序，
 判断这个机器人在完成移动后是否在 (0, 0) 处结束。
 移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。
 机器人的有效动作有 R（右），L（左），U（上）和 D（下）。
 如果机器人在完成所有动作后返回原点，则返回 true。否则，返回 false。
 */

/**
 * @author jack.wu
 * @version 1.0
 * @date 2020/12/22
 */
public class Question657 {

    public static void main(String[] args) {
        Question657 question = new Question657();
        boolean judgeCircle = question.judgeCircle("UD");
        System.out.println(judgeCircle);
    }

    public boolean judgeCircle(String moves) {
        if (moves == null || moves.length() == 0) {
            return true;
        }
        int x = 0, y = 0;
        char ch;
        for (int i = 0; i < moves.length(); i++) {
            ch = moves.charAt(i);
            if (ch == 'U') {
                y++;
            }else if (ch == 'D') {
                y--;
            }else if (ch == 'L') {
                x--;
            }else if (ch == 'R') {
                x++;
            }
        }
        return x == 0 && y == 0;
    }
}
